package com.zhongfl.crm.model.boss;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * order_capital_detail
 */
@ToString
public class OrderCapitalDetail {
    /**
     * 自增ID
     */
    @Setter
    @Getter
    private Integer id;

    /**
     * 交易流水号
     */
    @Setter
    @Getter
    private String tradeNo;

    /**
     * 订单编号
     */
    @Setter
    @Getter
    private String orderNo;

    /**
     * 交易类型 收款 付款 退款
     */
    @Setter
    @Getter
    private OrderTradeType tradeType;
    private String tradeTypeName;
    public String getTradeTypeName() {
        return tradeType.getValue();
    }

    /**
     * 收费类型 订金 服务费 包装费等
     */
    @Setter
    @Getter
    private OrderFeeType feeType;

    @Setter
    private String feeTypeName;

    public String getFeeTypeName() {
        if(null != feeTypeName) {
            return feeTypeName;
        }
        if(null != feeType) {
            return feeType.getValue();
        }
        return "";
    }

    /**
     * 交易金额
     */
    @Setter
    @Getter
    private BigDecimal tradeAmount;

    /**
     * 交易时间
     */
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date tradeTime;

    /**
     * 核销状态, 0:待核销 1:已核销
     */
    @Setter
    @Getter
    private Integer writeOffStatus;

    @Getter
    @Setter
    private String writeOffStatusName;

    /**
     * 核销人
     */
    @Setter
    @Getter
    private String writeOffBy;

    /**
     * 核销时间
     */
    @Setter
    @Getter
    private Date writeOffTime;

    /**
     * 核销备注
     */
    @Setter
    @Getter
    private String writeOffRemark;

    /**
     * 核销凭证
     */
    @Setter
    @Getter
    private String certificateImageKey;
    /**
     * 是否逻辑删除 0 正常 1 删除
     */
    @Setter
    @Getter
    private Integer deleted;

    /**
     * 备注信息
     */
    @Setter
    @Getter
    private String remark;


    /**
     * 创建人
     */
    @Setter
    @Getter
    private String createdBy;

    /**
     * 创建时间
     */
    @Setter
    @Getter
    private Date createdTime;

    /**
     * 最后更新人
     */
    @Setter
    @Getter
    private String modifiedBy;

    /**
     * 最后更新时间
     */
    @Setter
    @Getter
    private Date modifiedTime;

    /**
     * 商务经理
     */
    @Getter
    @Setter
    private String businessManager;

    /**
     * 贷款人姓名
     */
    @Getter
    @Setter
    private String loanUserName;

    @Getter
    @Setter
    private List<OrderAttachment> images;
}